iT邦幫忙

2021 iThome 鐵人賽

DAY 25
0

為什麼會從 docker 聊到 k8s(kubernetes) 呢?
因為每個專案裡面一定有 dockerfile 啊(喂

比方說 ... 我寫了一個 http server,經由 docker 的協助 build 成執行檔,在 kubernetes 的機器中 run 起服務 by dockerfile ,並透過 kubernetes 的連線方式對外溝通,即完成一個簡單的 http server 服務

docker 跟 k8s 是互補的,應該說 docker 是一種 container 技術,在 k8s 內可以用 conatiner 來做啟動服務的一個單位

container 並不止 docker 一種,還有一些其他的 Containerization 工具,只不過 我學到的是 docker
要在 k8s 內 run 起服務也不一定要經由 container ,只不過 container 提供了一個較為方便的操作方式來啟動服務

在我的理解中,container 與 k8s 之間是合作關係。


在 k8s 中,service 是分散式叢集架構的核心,一個 service object,擁有以下幾個關鍵特性:

  1. 擁有一個唯一的指定名稱( ex: eric_try_httpserver );
  2. 擁有一個虛擬 ip (cluster IP、service IP、 VIP)以及連接埠 ;
  3. 能夠提供特定遠端服務能力
  4. 被對應到提供此服務功能的一組 container 應用上

service 的服務經由 socket 連線方式對外提供服務。

網路插座(英語:Network socket;又譯網路接套、網路介面、網路插槽)在計算機科學中是電腦網路中行程間資料串流的端點。使用以網際協定(Internet Protocol)為通訊基礎的網路插座,稱為網際插座(Internet socket)。因為網際協定的流行,現代絕大多數的網路插座,都是屬於網際插座。

比方說:mysql , redis , http_server ... 等

一個 service 經常是由多個相關的服務程式來提供服務,每個服務程式都有一個獨立的 endpoint(IP + port),k8s 能讓我透過 service (虛擬機器 ip + service port )連接到指令的 service 上。


上一篇
[13th][Day24] kubernetes 是什麼
下一篇
[13th][Day26] pod
系列文
container & k8s 奏鳴曲30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言